Stream Control Transmission Protocol

Stream Control Transmission Protocol (SCTP) je protokol transportní vrstvy, který navrhla v roce 2000 pracovní skupina IETF Signaling Transport (SIGTRAN) zabývající přenosem telefonní signalizace (SS7) po IP. Odtud pochází požadavek na několik navzájem nezávislých kanálů, které jsou přepravovány paralelně. Právě tohle je zřejmě největší odlišností SCTP od stávajících transportních protokolů. Po navázání spojení, kterému se v terminologii SCTP říká asociace, po něm lze přenášet řadu navzájem nezávislých proudů (stream). V rámci každého z nich dokáže SCTP garantovat doručení všech dat ve správném pořadí. Případný výpadek (a pozdější opakování, čili zdržení) v některém z proudů se však nijak netýká proudů ostatních. Jejich komunikace pokračuje bez přerušení. Tento protokol je definován v RFC 2960, a úvodní text obstarává RFC 3286. SCTP je transportní protokol, mezi ně patří také TCP a UDP. Výhody SCTP:

  • Multihoming – situace, kdy komunikující uzel má několik IP adres. Dostupné adresy si partneři vyměňují při vytvoření asociace a může se jednat o libovolnou směs IPv4 a IPv6 adres. Během komunikace je jedna z nich brána jako primární a na ni jsou odesílána data. Pro opakování však vybírá jinou a pokud má primární adresa častější problémy s dostupností, přejde odesilatel na jinou (je-li k dispozici). SCTP totiž monitoruje všechny cesty a udržuje si přehled o jejich stavu.
  • Spolehlivý přenos řazených (sekvencovaných) i neřazených datagramů.
  • Doručení dat v balících (chunks) pomocí proudů eliminuje blokování čela fronty, ke kterému dochází u TCP.
  • Výběr a sledování cesty – je možné vybrat hlavní (primární) adresu a pokud má primární adresa častější problémy s dostupností, přejde odesilatel na jinou (je-li k dispozici).
  • Ověřovací a potvrzovací mechanismy – SCTP komplikuje některé útoky směřující k nedostupnosti služeb (DoS). Zajišťuje ověření opakujících se a chybějících balíků.

Developed by StudentB